Skip to content

Refresh VoyageAI embedding model catalog - #2

Open
fzowl wants to merge 2 commits into
mainfrom
feat/voyageai-refresh
Open

Refresh VoyageAI embedding model catalog#2
fzowl wants to merge 2 commits into
mainfrom
feat/voyageai-refresh

Conversation

@fzowl

@fzowl fzowl commented Aug 16, 2026

Copy link
Copy Markdown
Owner

What

Brings the VoyageAI model listings up to date with the current catalog on docs.voyageai.com, across both places the integration is documented:

  • platform/integrations/voyage-ai.md (Epsilla Cloud integration)
  • vector-database/embeddings.md (open-source vector DB reference)

Models added

  • voyage-4 family: voyage-4-large, voyage-4, voyage-4-lite, voyage-code-4 (1024)
  • Contextualized: voyage-context-4 (1024). voyage-context-3 was already on the integration page and is now also added to the vector-database table.
  • Multimodal: voyage-multimodal-3.5 (1024)
  • Filled gaps in the vector-database table so it matches the integration page (voyage-3.5, voyage-3.5-lite, voyage-multimodal-3).

Dimensions use each model's default (1024), matching how the existing rows are listed.

Contextualized embeddings note

Added an honest note next to both tables describing how voyage-context-* models behave in Epsilla: each input string is embedded as its own independent document — the batch is sent as a flat list with auto-chunking enabled and a large chunk size, so every string resolves to exactly one chunk and one deterministic vector. Cross-input contextualization is intentionally not used, since a generic batch may contain unrelated texts. Auto-chunking is disabled on the query path because the Voyage API rejects it for query inputs.

Why

The tables were missing the latest generation (voyage-4 family, voyage-context-4, voyage-multimodal-3.5) and the two tables had drifted out of sync. This aligns both with the current reference.

Scope

This is a documentation repository, so the change is limited to the model tables and accompanying notes. Token-aware batching and unit tests referenced for SDK integrations don't apply here (no code in this repo).

Add current VoyageAI models to both the Epsilla Cloud integration page
and the vector-database embeddings reference, matching docs.voyageai.com:

- voyage-4 family: voyage-4-large, voyage-4, voyage-4-lite, voyage-code-4
- contextualized: voyage-context-4 (voyage-context-3 already present /
  now added to the vector-database table)
- multimodal: voyage-multimodal-3.5

Also fill gaps in the vector-database table (voyage-3.5, voyage-3.5-lite,
voyage-multimodal-3) so it matches the integration page.

Document that voyage-context-* inputs are embedded independently: each
string is sent as its own document via a flat list with auto-chunking,
yielding one deterministic vector per input; auto-chunking is disabled on
the query path since the Voyage API rejects it for query inputs.
@fzowl

fzowl commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

VERDICT:CHANGES_NEEDED

Reviewed the diff, commit hygiene, and fit with the existing docs.

Commit hygiene — clean. Author/committer is fzowl <zoltan@voyageai.com>, no Co-Authored-By, no "Generated with" trailers, and no .claude/ files anywhere in the tree or the diff.

Table refresh — looks good. The voyage-4 family, voyage-context-4, voyage-multimodal-3.5, and the gap-filling rows are formatted consistently with the existing tables, and the dimensions line up with prior conventions (e.g. voyage-3.5-lite = 512 matches the row already on the integration page). Docs-only, so no breaking-change or test concerns.

What needs to change before merge:

  1. The contextualized-models {% hint %} note asserts Epsilla-internal behavior that needs maintainer verification. It states specific implementation details — "Epsilla sends the batch as a flat list with auto-chunking enabled and a large chunk size ... on the query/retrieval path auto-chunking is disabled." These are claims about how Epsilla itself processes voyage-context-* inputs, not about the Voyage API. Coming from a Voyage-side contributor, they should be confirmed against the actual Epsilla implementation before being published as fact. Relatedly, as written the note says cross-input contextualization is not applied and each string resolves to a single chunk — i.e. the models behave like ordinary embedding models with no contextual benefit. That directly contradicts the stated purpose of voyage-context-*; if that's genuinely the intended behavior, please make the tradeoff explicit; if not, the note is misleading. (The two files also word the note slightly differently — worth aligning.)

  2. Table sync is incomplete / leaves pre-existing duplicates. vector-database/embeddings.md still lists voyage-code-2, voyage-law-2, voyage-finance-2, and voyage-multilingual-2 twice. These predate this PR, but since the stated goal is to bring the two tables in sync, it'd be a good opportunity to de-dupe them here.

Point 1 is the blocker — happy to approve once the behavior note is verified (or dropped) by an Epsilla maintainer.

- Rewrite the voyage-context-* hint to describe only user-observable
  behavior (each input embedded independently as its own document, one
  deterministic vector per input, no cross-batch contextualization) and
  drop unverified internal-processing details. Both docs pages now carry
  identical wording.
- Remove the pre-existing duplicate voyage-code-2, voyage-law-2,
  voyage-finance-2, and voyage-multilingual-2 rows from
  vector-database/embeddings.md so the two model tables stay in sync.
@fzowl

fzowl commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Addressed the review in 94e7e90.

1. voyage-context- behavior note.* Dropped the internal-processing assertions (flat-list / auto-chunking / chunk-size / query-path mechanics) that couldn't be published as fact without maintainer verification. The note now describes only user-observable behavior and makes the tradeoff explicit: these are contextualized models, but in Epsilla each input string is embedded independently as its own document (one deterministic vector per input) and contextualization across the other texts in a batch is not applied, since a batch may contain unrelated documents. Both platform/integrations/voyage-ai.md and vector-database/embeddings.md now carry identical wording.

2. Table de-dup. Removed the pre-existing duplicate voyage-code-2, voyage-law-2, voyage-finance-2, and voyage-multilingual-2 rows in vector-database/embeddings.md so the two model tables stay in sync.

Model catalog and dimensions were re-checked against the current Voyage AI embeddings and contextualized-embeddings docs; no further table changes needed.

@fzowl

fzowl commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

VERDICT:APPROVED

Reviewed the diff against origin/main (base ebcd592), and the PR is in good shape. GitHub reports it as MERGEABLE / CLEAN.

Correctness

  • The voyage-4 family, voyage-context-4, and voyage-multimodal-3.5 are added to both tables, and the two tables are now back in sync — a real drift that existed because New VoyageAI models in docs epsilla-cloud/docs#4 only touched the integration page.
  • The de-dupe is correct: origin/main's vector-database/embeddings.md had genuine duplicate rows (voyage-code-2, voyage-law-2, voyage-finance-2, voyage-multilingual-2 each appeared twice). After this PR each model appears exactly once (verified — no remaining dupes).
  • Dimensions all use the 1024 default, matching the existing row convention.

Fit with conventions

  • The {% hint style="info" %} block matches GitBook hint usage already present across ~13 docs pages, so it renders natively.
  • The note wording is identical on both pages and, per the second commit, was trimmed to user-observable behavior only (one deterministic vector per input, no cross-batch contextualization) — good call dropping the unverified internal-processing details.

Breaking-change risk: None — docs-only, clean merge.

Tests: N/A for a docs repo; correctly called out in the PR description.

Commit hygiene: Clean. Two commits, both authored by zoltan@voyageai.com. No Co-Authored-By, no "Generated with" trailers, no .claude/ files in the tree.

Non-blocking nit: voyage-3.5-lite is listed at 512. This just mirrors what the integration page already had (from epsilla-cloud#4), so it's consistent and not introduced here — but Voyage's voyage-3.5-lite default output dimension is 1024 (512 is the older voyage-3-lite). Worth a quick double-check against docs.voyageai.com; can be a follow-up either way.

Approving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant